package com.bh.wms.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BhtmsBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.util.List;

/**
 * 仓库库区信息
 *
 * @author GPT
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wms_warehouse_zone")
@ApiModel(value = "库区信息", description = "仓库库区信息")
public class WmsWarehouseZone extends BhtmsBaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("所属仓库ID")
    @Excel(name = "仓库ID")
    private Long warehouseId;

    @ApiModelProperty("库区编码")
    @Excel(name = "库区编码")
    private String code;

    @ApiModelProperty("库区名称")
    @Excel(name = "库区名称")
    private String name;

    @ApiModelProperty("库区类型")
    @Excel(name = "库区类型")
    private String zoneType;

    @ApiModelProperty("温区类型")
    @Excel(name = "温区类型")
    private String temperatureType;

    @ApiModelProperty("是否默认库区 0-否 1-是")
    @Excel(name = "默认库区")
    private Integer defaultFlag;

    @ApiModelProperty("容纳体积(m³)")
    @Excel(name = "容纳体积(m³)")
    private Double maxVolume;

    @ApiModelProperty("容纳重量(kg)")
    @Excel(name = "容纳重量(kg)")
    private Double maxWeight;

    @ApiModelProperty("拣货顺序")
    @Excel(name = "拣货顺序")
    private Integer pickOrder;

    @ApiModelProperty("扩展字段1")
    private String extendOne;

    @ApiModelProperty("扩展字段2")
    private String extendTwo;

    @ApiModelProperty("扩展字段3")
    private String extendThree;

    @TableField(exist = false)
    @ApiModelProperty("货位列表")
    private List<WmsWarehouseLocation> locations;
}

